| 간략한 설명 | |
|---|---|
|
파일: \examples\Processing\DebuggingAndTest\HardwareTest\HardwareTest.va |
![]() |
|
Default Platform: mE5-MA-VCL |
|
|
요약 설명 DMA, RAM, GPIO, 트리거 및 LED에 대한 하드웨어 자가 진단 예제입니다. 이 예제는 매개변수 라이브러리의 연산자를 광범위하게 사용합니다. |
|
'하드웨어 테스트' 예제는 하드웨어 자가 진단 테스트를 수행합니다.
이 애플릿은 다음과 같은 기능으로 구성되어 있습니다:
- DMA 성능 테스트: 다양한 메모리 용량 및 인터럽트 빈도에 따른 서로 다른 이미지 크기
- RAM 테스트: 오류 확인 및 처리
- 카메라: 카메라 포트를 통한 이미지 획득 확인
- 카메라 트리거: 카메라에 트리거 신호를 전송합니다
- GPIO: GPIO 입력 신호를 모니터링하고 GPIO 출력 신호를 설정합니다.
- 이벤트 테스트: 소프트웨어 콜백 이벤트 생성
- 모니터링: FPGA 온도, 전력, PoCL 등 (자세한 내용은 BoardStatus참조)
다음 다이어그램은 애플릿의 기능 블록을 보여줍니다.
VisualApplets 구현은 두 개의 프로세스로 나뉩니다. Process0에는 DMA 테스트, RAM 테스트, 카메라 데이터 수집 등 모든 이미지 처리 부분이 포함됩니다. 반면 Process1에는 진행 중인 데이터 수집과 무관한 부분들이 포함됩니다. DMA 연산이 포함되지 않은 프로세스는 애플릿이 로드되는 즉시 시작되므로, 이 프로세스의 함수들은 데이터 수집과 무관하게 독립적으로 사용할 수 있습니다. 자세한 내용은 'DMA가 없는 프로세스 / 트리거 프로세스'를 참조하십시오.
다음 두 스크린샷은 Process0과 Process1을 보여줍니다.
이 애플릿은 사용자가 편리하게 이용할 수 있도록 매개변수 라이브러리의 연산자를 집중적으로 활용하여 구현되었습니다. H-Box 구현에는 기능적인 부분이 포함되어 있습니다. 매개변수는 별도로 확인하기 위해 H-Box 매개변수의 속성 항목에 나열되어 있습니다. 이는 예를 들어 microDisplay에서 애플릿을 사용할 때 유용하며, 다음 스크린샷에서 볼 수 있듯이 사용하기 쉬운 매개변수만 나열되어 있습니다.
이 애플릿의 구현은 간단하며, VA 파일을 살펴보면 쉽게 이해할 수 있습니다. 하지만, 각 매개변수의 변환 방식과 참조 사항을 자세히 살펴봄으로써 그 사용법을 이해해 보겠습니다.
주요 이미지 처리 부분에는 RAM 테스트, DMA 성능 테스트 및 카메라 영상 획득 기능이 포함되어 있습니다. 이 애플릿은 DMA 채널당 한 번에 하나의 모드만 출력할 수 있도록 되어 있습니다. 따라서 여러 개의 SourceSelector 연산자가 사용됩니다. 올바른 입력 인덱스를 지정하는 매개변수화를 피하기 위해 EnumParamTranslator 연산자를 사용하여 사용 편의성을 높였습니다.
다음에서는 TranslateOutputSelect 의 매개변수 값에 대해 자세히 설명합니다.
먼저, 열거형 값을 정의해야 합니다.
"DMA_Performance" = 0x001; "Camera" = 0x002; "RAM0_Difference" = 0x000; "RAM0_Errors" = 0x100; "RAM1_Difference" = 0x010; "RAM1_Errors" = 0x110; "RAM2_Difference" = 0x020; "RAM2_Errors" = 0x120; "RAM3_Difference" = 0x030; "RAM3_Errors" = 0x130;
보시다시피 열거형의 값들은 16진수 값으로 정의되어 있습니다. 이를 통해 다음 세 가지로 쉽게 분류할 수 있습니다. SourceSelector 모듈에 대한 분배가 용이해집니다. 하위 4비트는 TestMode.SelectSource 모듈에, 4~7비트는 RAMTest/SelectRAM.SelectSource에, 8~11비트는 RAMTest/SelectRAMOutputMode/EnableBitpattern.SelectSource에 사용됩니다. 이를 통해 WriteAction 및 ReadAction 매개변수에 대한 구현이 매우 간단해집니다.
그런 다음 이 변환 값을 열거형 값과 함께 사용할 수 있습니다. 이 값을 변경하면 SourceSelector 모듈의 매개변수 값이 자동으로 변경됩니다.
H-Box GeneratorDMAPerformance에는 패턴 생성기뿐만 아니라 출력 프레임 속도를 제어하는 이미지 밸브도 포함되어 있습니다. 이 패턴 생성 기능은 빈 이미지 생성기와 픽셀 및 이미지 카운터를 사용하여 롤링 대각선 패턴을 생성하는 매우 간단한 방식입니다.
이 밸브는 주기 발생기 조작자에 의해 제어됩니다 생성를 생성합니다. 생성기의 단위는 틱(ticks)으로 표시됩니다. 타임베이스를 사용하여 프레임 속도를 지정하고자 하므로, translate 연산자 FloatParamTranslator를 사용합니다. 따라서 이 연산자를 사용하여 초당 프레임 수를 틱으로 변환합니다. 다음 스크린샷은 구현 예시를 보여줍니다.
연산자를 사용하여 예제 HardwareTest에서 너비와 높이를 설정하기 IntParamTranslator
이미지의 너비와 높이에 대해서도 앞 섹션에서 설명한 것과 동일한 절차를 수행합니다. 이 경우 다음 연산자를 사용할 수 있습니다. IntParamTranslator연산자를 사용할 수 있습니다. 여기서 값을 설계 내의 두 모듈로 직접 전달할 수 있습니다. DisplayName 및 DisplayHierarchy 매개변수에 지정된 값에 유의하십시오.






이전

